package com.cuvretool.view.coordinate;

import java.util.ArrayList;

import com.cuvretool.Base;
/**
 * 绘制边缘标尺数值
 * since 2015年3月11日 下午4:12:30
 * @author boy
 */
public class RulerDrawInfo implements Base{
	// ===========================================================
	// Constants
	// ===========================================================

	// ===========================================================
	// Fields
	// ===========================================================
	/**网格左下角的起点标尺值(横轴无小数标尺值)*/
	public int mBeginX,mSpacingX;
	/**网格间距标尺值(纵轴无小数标尺值)*/
	public int mBeginY,mSpacingY;
	/**网格相关参数*/
	private GridDrawInfo mGridDrawInfo;
	/**标尺字符串数组*/
	public ArrayList<String> mRulerX,mRulerY;
	// ===========================================================
	// Constructors
	// ===========================================================
	public RulerDrawInfo(){
		mRulerX = new ArrayList<String>();
		mRulerY = new ArrayList<String>();
	}
	// ===========================================================
	// Getter & Setter
	// ===========================================================
	/**
	 * 设置网格绘制使用的参数
	 * @param gridDrawInfo
	 */
	public void setmGridDrawInfo(GridDrawInfo gridDrawInfo) {
		mGridDrawInfo = gridDrawInfo;
		if(mGridDrawInfo == null){
			new Throwable("Please Check GridDrawInfo: GridDrawInfo is null");
		}
	}
	/**
	 * 获取网格定义参数
	 * @return
	 */
	public GridDrawInfo getmGridDrawInfo() {
		return mGridDrawInfo;
	}
	// ===========================================================
	// Methods for/from SuperClass/Interfaces
	// ===========================================================
	@Override
	public void init() {
		mBeginX = 0;
		mSpacingX = 10;
		mBeginY = 0;
		mSpacingY = 20;
	}

	@Override
	public void run() {
		mRulerX.clear();
		for (int i = 0; i < mGridDrawInfo.getGridNumberX()+1; i++) {
			int value = mBeginX + mSpacingX * i;
			mRulerX.add(value+"");
		}
		
		mRulerY.clear();
		for (int i = 0; i < mGridDrawInfo.getGridNumberY()+1; i++) {
			int value = mBeginY + mSpacingY * i;
			mRulerY.add(value+"");
		}
	}

	@Override
	public void over() {
		// TODO Auto-generated method stub
		
	}
	// ===========================================================
	// Methods
	// ===========================================================

	// ===========================================================
	// Inner and Anonymous Classes
	// ===========================================================
}
